Java Inside

What is JVM

  • Java Virtual Machine
  • Sebuah konsep atau spesifikasi terkait mesin virtual yang dapat digunakan untuk menjalankan Java Bytecode
  • Implementasi JVM
    • Hotspot (Open-source, implemantion by Oracle)
    • Eclipse Open J9
      • dikelola Eclipse Foundation
    • GraalVM
      • berbasis HotSpot/OpenJDK dengan
      • kemampuan polyglot
        • menjalankan banyak bahasa pemrograman seperti JavaScript, Python dll

JRE

  • software layer yang berjalan di atas OS komputer dan menyediakan
    • class libraries
    • resources yang dibutuhkan oleh aplikasi java agar dapat berjalan
    • include JVM
  • Sebelum Java 11 terdapat aplikasi JRE standalone, yang dapat diinstal jika sebuah komputer diinginkan untuk menjalankan aplikasi berbasis java
  • Setelah Java 11 tidak lagi ada JRE standalone
    • alternatifnya dapat menggunakan JRE yang dibuat oleh vendor lain

JDK

  • Java Development Kit
  • Kit / perangkat yang dibutuhkan programmer untuk mengembangkan perangkat lunak berbasis Java
    • Salah satu komponen JDK adalah JRE

OpenJDK vs JDK

  • Tergantung konteks pembicaraan
  • Dari sisi teknis antara OpenJDK dan JDK sama saja
    • untuk pemula istilah OpenJDK dan JDK tidak terlalu penting sehingga dapat dianggap sama
  • Untuk pengembangan aplikasi komersil dan mesin production istilah OpenJDK dan JDK dapat berarti berbeda
    • OpenJDK
      • Implementasi Java SE yang bersifat Open Source
    • JDK implementasi Java SE, yang merupakan product dari Oracle, lisensinya berbeda.
      • Diturunkan dari OpenJDK + komponen tambahan dari Oracle
  • Perbedaan terbesar antara OpenJDK dan Oracle JDK -> lisensi